import axios from "axios"
import qs from "qs"
import { Message } from 'element-ui';
import router from '../router';
// 创建axios实例
// axios.create({
//     baseURL: 'http://tp6.cn/api',
//     timeout: 100000,
// 	withCredentials: true, // 允许携带cookie
//     // headers: {
//     //     'Content-Type': 'application/x-www-form-urlencoded',

//     // }
// });
// process.env.VUE_APP_INTERFACE_URL
axios.defaults.baseURL='/api'
// axios.defaults.withCredentials=true
// axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'; //配置请求头
// 添加请求拦截器
axios.interceptors.request.use(function (config) {

    // 在发送请求之前做些什么
	if (!(config.data instanceof FormData)) {
	  config.data = qs.stringify(config.data);
	}
				// sessionStorage.removeItem('token');
	const token = sessionStorage.getItem("token")
		// console.log(token)
	if(token !== ""){
		// 请求带上token
		// console.log(token)
		const token_sp = "bearer"+token;
		
		config.headers['Authorization'] = token_sp	
	}

	// request.headers.set('Authorization', token)
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
	// 对响应数据做点什么
    if(response.data.code == -1){
	  	
	  sessionStorage.removeItem('token');
	  router.push({
	    path: '/login',
	    query: {}
	  });	  
      // return Promise.reject(response);
		
	}


    return response;
}, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
});

// axios.defaults.headers['Set-Cookie'] = 'PHPSESSID=6eb7ef6dad34e97cd20885c89bb4024b'; //配置请求头

export function _post(url, params) {
  return new Promise((resolve, reject) => {

    axios.post(url, params)
      .then(response => {
        resolve(response);
      })
      .catch((error) => {
        reject(error);
      })
  })
}

/**
 * 返回一个Promise(发送get请求)
 */
export function _get(url, params) {

  return new Promise((resolve, reject) => {

    axios.get(url, {
      params: params
    })
      .then(response => {
        resolve(response)
      })
      .catch((error) => {
        reject(error);
      })
  })
}
// export const postRequest = (url,params)=>{
// 	return axios({
// 		method:'post',
// 		url:'${base}${url}',
// 		data:params
// 	})
// }

export default {axios,qs,_post,_get}